package com.hxzy.shop.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * order_table
 *
 * @author
 */
@Data
@Accessors(chain = true)
@ApiModel("订单表")
public class OrderTable implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    @ApiModelProperty("id")
    private Long id;

    /**
     * 商户id
     */
    @ApiModelProperty("商户id")
    private Long merchantId;

    /**
     * 订单号
     */
    @ApiModelProperty("订单号")
    private String orderNo;

    /**
     * 微信支付业务id
     */
    @ApiModelProperty("微信支付业务id")
    private String transactionId;

    /**
     * 下单时间
     */
    @ApiModelProperty("下单时间")
    private Date createTime;

    /**
     * 支付时间
     */
    @ApiModelProperty("支付时间")
    private Date payTime;

    /**
     * 发货时间
     */
    @ApiModelProperty("发货时间")
    private Date deliveryTime;

    /**
     * 收货时间（订单完成时间)
     */
    @ApiModelProperty("收货时间（订单完成时间)")
    private Date receivingTime;

    /**
     * 快递方式 1自提 2同城 3快递
     */
    @ApiModelProperty("快递方式 1自提 2同城 3快递")
    private Integer pickType;

    /**
     * 订单类型  1普通订单  2处方订单
     */
    @ApiModelProperty("药品类别  1普通订单  2处方订单")
    private Integer orderType;

    /**
     * 支付状态 1待支付 2已支付 3取消支付
     */
    @ApiModelProperty("支付状态 1待支付 2已支付 3取消支付")
    private Integer payType;

    /**
     * 配送状态  1 【快递模式】 待发货(小程序)/待发货(后台),【同城模式】待发货(小程序)/待发货(后台),【自提模式】待备货(小程序)/待备货(后台)  2【快递模式】 待收货(小程序)/待收货(后台),【同城模式】正在配送(小程序)/待收货(后台),【自提模式】待自提(小程序)/待自提(后台)  3 【快递模式】 交易成功(小程序)/已完成(后台),【同城模式】交易成功(小程序)/已完成(后台),【自提模式】交易成功(小程序)/已完成(后台) 4【快递模式】 订单关闭(小程序)/订单关闭(后台),【同城模式】订单关闭(小程序)/订单关闭(后台),【自提模式】订单关闭(小程序)/订单关闭(后台)
     */
    @ApiModelProperty("配送状态  1 【快递模式】 待发货(小程序)/待发货(后台),【同城模式】待发货(小程序)/待发货(后台),【自提模式】待备货(小程序)/待备货(后台)  2【快递模式】 待收货(小程序)/待收货(后台),【同城模式】正在配送(小程序)/待收货(后台),【自提模式】待自提(小程序)/待自提(后台)  3 【快递模式】 交易成功(小程序)/已完成(后台),【同城模式】交易成功(小程序)/已完成(后台),【自提模式】交易成功(小程序)/已完成(后台) 4【快递模式】 订单关闭(小程序)/订单关闭(后台),【同城模式】订单关闭(小程序)/订单关闭(后台),【自提模式】订单关闭(小程序)/订单关闭(后台)")
    private Integer distributionState;

    /**
     * 售后订单 true是 false 否
     */
    @ApiModelProperty("售后订单 true是 false 否")
    private Boolean afterSalesOrNot;

    /**
     * 售后处理状态 1待处理  2处理中  3处理完成
     */
    @ApiModelProperty("售后处理状态 1待处理  2处理中  3处理完成")
    private Integer serviceorderState;

    /**
     * 处方订单状态  0铭博上传失败  1待接诊  2互联网已审核 3互联网审核失败  4已接诊(下单开始24小时后，未接诊订单自动关闭)
     */
    @ApiModelProperty("处方订单状态  0铭博上传失败  1待接诊  2互联网已审核 3互联网审核失败  4已接诊(下单开始24小时后，未接诊订单自动关闭)")
    private Integer drugOrderState;

    /**
     * 门店id
     */
    @ApiModelProperty("门店id")
    private Long storeId;

    /**
     * 总金额
     */
    @ApiModelProperty("总金额")
    private BigDecimal totalPrice;

    /**
     * 实际支付金额
     */
    @ApiModelProperty("实际支付金额")
    private BigDecimal payPrice;

    /**
     * 总优惠金额
     */
    @ApiModelProperty("总优惠金额")
    private BigDecimal discountPrice;

    /**
     * 下单人id
     */
    @ApiModelProperty("下单人id")
    private Long memberId;

    /**
     * 收货人姓名
     */
    @ApiModelProperty("收货人姓名")
    private String mermberName;

    /**
     * 收货人电话
     */
    @ApiModelProperty("收货人电话")
    private String mermberPhone;

    /**
     * 收货地址
     */
    @ApiModelProperty("收货地址")
    private String mermberAddress;

    /**
     * 订单备注
     */
    @ApiModelProperty("订单备注")
    private String orderNotes;

    /**
     * 省市区
     */
    @ApiModelProperty("省市区")
    private String provinceAndCity;

    /**
     * 删除状态 true删除 false 未删除
     */
    @ApiModelProperty("删除状态 true删除 false 未删除")
    private Boolean disable;

    /**
     * 秒杀优惠
     */
    @ApiModelProperty("秒杀优惠")
    private BigDecimal seckillDiscount;

    /**
     * 组合优惠
     */
    @ApiModelProperty("组合优惠")
    private BigDecimal combineDiscount;



    /**
     * 限时折扣优惠
     */
    @ApiModelProperty("限时折扣优惠")
    private BigDecimal limitDiscount;

    @ApiModelProperty("满减优惠")
    private BigDecimal fullReductionDiscount;

    @ApiModelProperty("第X件X折优惠")
    private BigDecimal fullDiscountDiscount;

    /**
     * 优惠劵id（用户持有id）
     */
    @ApiModelProperty("优惠劵id（用户持有id）")
    private Long userInnerCouponId;

    /**
     * 利润
     */
    @ApiModelProperty("利润")
    private BigDecimal profilt;

    /**
     * 运费
     */
    @ApiModelProperty("运费")
    private BigDecimal freight;

    /**
     * 经度
     */
    @ApiModelProperty("经度")
    private String longitude;

    /**
     * 维度
     */
    @ApiModelProperty("维度")
    private String dimension;

    /**
     * 开方医院类型
     */
    @ApiModelProperty("开方医院 1明博  2莲藕 3用户上传处方单")
    private Integer hospitalType;

    @ApiModelProperty("开方/拒方时间")
    private Date rxTime;

    @ApiModelProperty("会员优惠")
    private BigDecimal mermberDiscount;

    /**
     * 是否第一次支付 true是 false 否
     */
    @ApiModelProperty("是否第一次支付 true是 false 否")
    private Boolean isPayFirstTime;

    @ApiModelProperty("购物卡抵扣金额")
    private BigDecimal discountCardPrice;

    /**
     *  支付方式 1微信 2余额
     */
    @ApiModelProperty("支付方式 1微信 2余额")
    private Integer paymentMethod;

    /**
     * 拼团id
     */
    @ApiModelProperty("拼团id")
    private Long groupBookingId;

    /**
     * 是否团长 0否 1是
     */
    private Integer isSponsor;

    /**
     * 团长id
     */
    private Long sponsorId;

    /**
     * 订单类型
     * */
    @ApiModelProperty("订单类型（1普通订单 2拼团订单 3积分订单 4分销订单 5代客下单）")
    private Integer orderMold;
    @ApiModelProperty("抵扣积分")
    private Integer creditPoints;
    @ApiModelProperty("审核状态（用户自己上传处方单用）1.待审核 2已审核 3拒方")
    private Integer approvalStatus;

    /**
     * 是否采用京东物流
     */
    @ApiModelProperty("是否采用京东物流")
    private Boolean isJdExpress;

    @ApiModelProperty("是否包含疫情药 false不包含 true包含 ")
    private Boolean epidemicDrug=false;
}
